package com.lm.geode.example;

import org.apache.geode.cache.Region;
import org.apache.geode.cache.client.ClientCache;
import org.apache.geode.cache.client.ClientCacheFactory;
import org.apache.geode.cache.client.ClientRegionShortcut;

public class GeodeExample {
    public static void main(String[] args) {
        // 连接到 Geode Locator
        ClientCache cache = new ClientCacheFactory()
                .addPoolLocator("10.2.0.230", 10334) // 默认 locator 端口
                .setPoolReadTimeout(2000)        // 设置请求超时 2 秒
                .setPoolSocketBufferSize(32768)  // socket 缓冲区
                .setPoolPingInterval(5000)       // 心跳间隔 5 秒
                .create();

        // 2. 创建 Region，使用 CACHING_PROXY 类型
        Region<String, String> region = cache.<String, String>createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY)
                .create("myRegion");

        // 插入数据
        region.put("1", "Hello Geode from Java");
        System.out.println("Put: key=1, value=Hello Geode from Java");

        // 读取数据
        String value = region.get("1");
        System.out.println("Get: key=1, value=" + value);

        // 关闭客户端
        cache.close();
    }
}
